1. Field of the Invention
The present invention relates to the logging of events in a wireless communications system. More specifically, the present invention relates to adapting the type and amount of logging of the wireless communications system based on available resources of the system, and the ability to log specific events, both of which may vary over time.
2. Description of the Related Art
Wireless communications systems allow for communication by mobile telecommunications devices, such as cellular phones, PDAs, and mini-laptops, with other mobile telecommunications devices as well as wired telecommunications devices on a POTS (“plain ordinary telephone system”).
There exists a wireless telecommunications service that provides a quick one-to-one or one-to-many communication that is generically referred to as “Push-To-Talk” (PTT) capability. This is sometimes referred to as a “group communication.” The specific PTT group of recipient devices for the communicating mobile device is commonly set up by the carrier. A PTT communication connection is typically initiated by a single button-push on the mobile device that activates a half-duplex link between the speaker and each member device of the group, and once the button is released, the device can receive incoming PTT transmissions. Other methods for establishing a PTT or group communication may be through potentially any existing mobile device. These group communications may also be full-duplex or transition between half-duplex and full-duplex communications between the mobile device and a group communication server. Existing PTT systems have advantages over traditional cellular systems because they have faster call setup times, e.g., setup times ideally in the range of 1 second as opposed to cellular voice channels that can take more than 5 seconds to establish. In some arrangements, the PTT speaker will have the “floor” where no other group member can speak while the speaker is speaking. Once the speaker releases the PTT button, any other individual member of the group can engage his or her PTT button and he or she will have the floor. Generally speaking, the PTT system uses standard voice-over Internet Protocol (VoIP) technologies. Voice information is sent in digital form over IP-based data networks. In PTT scenarios, instead of using the standard cellular infrastructure, a call is formed by combining separate point-to-point connections between each IP endpoint in the network. Initiating the PTT system generates a call to the target device. The call originator's voice can be sent through the carrier's network to the target handset.
One of the main issues with efficient and timely troubleshooting and diagnostic ability of a wireless communications system, such as a PTT system, is not having the diagnostic logs needed to troubleshoot the problem available from the system that contains the diagnostic information of the reported problem. Most of the time, the telecommunications network provides key performance indicator (“KPI”) or operation and maintenance (“O&M”) measurements to indicate the problem in the network, such as high call setup failure, high call drop rate, or low bandwidth. However, in order to quickly resolve the reported problem or performance degradation, network engineers need the right set of logs capturing detailed diagnostic information of the failure. Due to the nature of a telecommunications node, it is not possible to continuously collect detailed diagnostic information due to limited bandwidth and/or limited mobile device resources, e.g, memory, CPU utilization, etc. Often times, after a reported problem, a network operations and maintenance team tries to troubleshoot the problem and, based on the results of initial troubleshooting, the network operations team starts collecting detailed diagnostic logs using pre-defined filter(s) or template(s).
Sometimes, it is difficult to collect the desired log because the previously reported problem is not currently occurring, due to the time difference between when it was reported and when the diagnostic logging was manually started. It may also be difficult to collect the desired log because not all calls were logged due to a limitation of the system resources of the system (such as communications links, server or mobile resources), resulting in the server logging only some calls (for instance, based on an algorithm, such as one call out of 100 attempts), and the desired logs not being collected.
Another issue may be not starting the log with the filter that would best diagnose the problem. A further issue with diagnostic logging deals directly with the system resources that performing such logging consumes. Logging the occurrence of events requires the use of system resources—such as the load of a central processing unit (CPU) of the system, and the storage space of the system available for logging. These system resources available for logging may change dynamically. For instance, these available system resources may vary as a function of the number of active calls in the system.
As the available system resources change, there may not be enough system resources available to log all of the occurrence of events desired. When there are not enough system resources available to log all of the occurrence of events desired, the prior art teaches that no logging may occur.
It would, therefore, be advantageous to provide techniques for adaptive logging of the occurrence of error events, where such techniques are able to adjust the amount of logging based on the amount of available system resources.